railroad train consulting trains mission critical history software embedded business online bus real-time railway desktop linux development model high availability